#include <stdint.h>
#ifdef __aarch64__ || __arm64__
typedef struct Context
{
    uint64_t x19;
    uint64_t x20;
    uint64_t x21;
    uint64_t x22;
    uint64_t x23;
    uint64_t x24;
    uint64_t x25;
    uint64_t x26;
    uint64_t x27;
    uint64_t x28;
    uint64_t fp;
    uint64_t sp;
    uint64_t pc;
} Context;

static inline void MakeContext(Context *context, void *stack, void *func)
{
    context->sp = (uint64_t)stack;
    context->fp = (uint64_t)stack;
    context->pc = (uint64_t)func;
}
#else
#error "platform not support"
#endif
